<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Chapter 42. Zend_Text</title>
<link rel="stylesheet" href="dbstyle.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
<link rel="start" href="index.html" title="Programmer's Reference Guide">
<link rel="up" href="index.html" title="Programmer's Reference Guide">
<link rel="prev" href="zend.test.phpunit.html" title="41.2. Zend_Test_PHPUnit">
<link rel="next" href="zend.timesync.html" title="Chapter 43. Zend_TimeSync">
<link rel="chapter" href="introduction.html" title="Chapter 1. Introduction to Zend Framework">
<link rel="chapter" href="zend.acl.html" title="Chapter 2. Zend_Acl">
<link rel="chapter" href="zend.auth.html" title="Chapter 3. Zend_Auth">
<link rel="chapter" href="zend.cache.html" title="Chapter 4. Zend_Cache">
<link rel="chapter" href="zend.config.html" title="Chapter 5. Zend_Config">
<link rel="chapter" href="zend.console.getopt.html" title="Chapter 6. Zend_Console_Getopt">
<link rel="chapter" href="zend.controller.html" title="Chapter 7. Zend_Controller">
<link rel="chapter" href="zend.currency.html" title="Chapter 8. Zend_Currency">
<link rel="chapter" href="zend.date.html" title="Chapter 9. Zend_Date">
<link rel="chapter" href="zend.db.html" title="Chapter 10. Zend_Db">
<link rel="chapter" href="zend.debug.html" title="Chapter 11. Zend_Debug">
<link rel="chapter" href="zend.dojo.html" title="Chapter 12. Zend_Dojo">
<link rel="chapter" href="zend.dom.html" title="Chapter 13. Zend_Dom">
<link rel="chapter" href="zend.exception.html" title="Chapter 14. Zend_Exception">
<link rel="chapter" href="zend.feed.html" title="Chapter 15. Zend_Feed">
<link rel="chapter" href="zend.filter.html" title="Chapter 16. Zend_Filter">
<link rel="chapter" href="zend.form.html" title="Chapter 17. Zend_Form">
<link rel="chapter" href="zend.gdata.html" title="Chapter 18. Zend_Gdata">
<link rel="chapter" href="zend.http.html" title="Chapter 19. Zend_Http">
<link rel="chapter" href="zend.infocard.html" title="Chapter 20. Zend_InfoCard">
<link rel="chapter" href="zend.json.html" title="Chapter 21. Zend_Json">
<link rel="chapter" href="zend.layout.html" title="Chapter 22. Zend_Layout">
<link rel="chapter" href="zend.ldap.html" title="Chapter 23. Zend_Ldap">
<link rel="chapter" href="zend.loader.html" title="Chapter 24. Zend_Loader">
<link rel="chapter" href="zend.locale.html" title="Chapter 25. Zend_Locale">
<link rel="chapter" href="zend.log.html" title="Chapter 26. Zend_Log">
<link rel="chapter" href="zend.mail.html" title="Chapter 27. Zend_Mail">
<link rel="chapter" href="zend.measure.html" title="Chapter 28. Zend_Measure">
<link rel="chapter" href="zend.memory.html" title="Chapter 29. Zend_Memory">
<link rel="chapter" href="zend.mime.html" title="Chapter 30. Zend_Mime">
<link rel="chapter" href="zend.openid.html" title="Chapter 31. Zend_OpenId">
<link rel="chapter" href="zend.paginator.html" title="Chapter 32. Zend_Paginator">
<link rel="chapter" href="zend.pdf.html" title="Chapter 33. Zend_Pdf">
<link rel="chapter" href="zend.registry.html" title="Chapter 34. Zend_Registry">
<link rel="chapter" href="zend.rest.html" title="Chapter 35. Zend_Rest">
<link rel="chapter" href="zend.search.lucene.html" title="Chapter 36. Zend_Search_Lucene">
<link rel="chapter" href="zend.server.html" title="Chapter 37. Zend_Server">
<link rel="chapter" href="zend.service.html" title="Chapter 38. Zend_Service">
<link rel="chapter" href="zend.session.html" title="Chapter 39. Zend_Session">
<link rel="chapter" href="zend.soap.html" title="Chapter 40. Zend_Soap">
<link rel="chapter" href="zend.test.html" title="Chapter 41. Zend_Test">
<link rel="chapter" href="zend.text.html" title="Chapter 42. Zend_Text">
<link rel="chapter" href="zend.timesync.html" title="Chapter 43. Zend_TimeSync">
<link rel="chapter" href="zend.translate.html" title="Chapter 44. Zend_Translate">
<link rel="chapter" href="zend.uri.html" title="Chapter 45. Zend_Uri">
<link rel="chapter" href="zend.validate.html" title="Chapter 46. Zend_Validate">
<link rel="chapter" href="zend.version.html" title="Chapter 47. Zend_Version">
<link rel="chapter" href="zend.view.html" title="Chapter 48. Zend_View">
<link rel="chapter" href="zend.xmlrpc.html" title="Chapter 49. Zend_XmlRpc">
<link rel="appendix" href="requirements.html" title="Appendix A. Zend Framework Requirements">
<link rel="appendix" href="coding-standard.html" title="Appendix B. Zend Framework Coding Standard for PHP">
<link rel="appendix" href="copyrights.html" title="Appendix C. Copyright Information">
<link rel="index" href="the.index.html" title="Index">
<link rel="section" href="zend.text.html#zend.text.figlet" title="42.1. Zend_Text_Figlet">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader"><table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">Chapter 42. Zend_Text</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="zend.test.phpunit.html">Prev</a> </td>
<th width="60%" align="center"> </th>
<td width="20%" align="right"> <a accesskey="n" href="zend.timesync.html">Next</a>
</td>
</tr>
</table></div>
<div class="chapter" lang="en">
<div class="titlepage"><div><div><h2 class="title">
<a name="zend.text"></a>Chapter 42. Zend_Text</h2></div></div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl><dt><span class="sect1"><a href="zend.text.html#zend.text.figlet">42.1. Zend_Text_Figlet</a></span></dt></dl>
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="zend.text.figlet"></a>42.1. Zend_Text_Figlet</h2></div></div></div>
<p>
        <code class="code">Zend_Text_Figlet</code> is a component which enables developers to
        create a so called FIGlet text. A FIGlet text is a string, which is
        represented as ASCII art. FIGlets use a special font format, called
        FLT (FigLet Font). By default, one standard font is shipped with
        <code class="code">Zend_Text_Figlet</code>, but you can download additional fonts at
        <a href="http://www.figlet.org/fontdb.cgi" target="_top">http://www.figlet.org</a>.
    </p>
<div class="note"><table border="0" summary="Note: Compressed fonts">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td>
<th align="left">Compressed fonts</th>
</tr>
<tr><td align="left" valign="top"><p>
            <code class="code">Zend_Text_Figlet</code> supports gzipped fonts. This means that
            you can take an <code class="code">.flf</code> file and gzip it. To allow
            <code class="code">Zend_Text_Figlet</code> to recognize this, the gzipped font
            must have the extension <code class="code">.gz</code>. Further, to be able to use
            gzipped fonts, you have to have enabled the GZIP extension of PHP.
        </p></td></tr>
</table></div>
<div class="note"><table border="0" summary="Note: Encoding">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td>
<th align="left">Encoding</th>
</tr>
<tr><td align="left" valign="top"><p>
            <code class="code">Zend_Text_Figlet</code> expects your strings to be UTF-8 encoded
            by default. If this is not the case, you can supply the character
            encoding as second parameter to the <code class="code">render()</code> method.
        </p></td></tr>
</table></div>
<p>
        You can define multiple options for a FIGlet. When instantiating
        <code class="code">Zend_Text_Figlet</code>, you can supply an array or an instance of
        <code class="code">Zend_Config</code>.

        </p>
<div class="itemizedlist"><ul type="disc">
<li><p>
                    <code class="code">font</code> - Defines the font which should be used
                    for rendering. If not defines, the built-in font will be
                    used.
                </p></li>
<li><p>
                    <code class="code">outputWidth</code> - Defines the maximum width of the
                    output string. This is used for word-wrap as well as
                    justification. Beware of too small values, they may result
                    in an undefined behaviour. The default value is 80.
                </p></li>
<li><p>
                    <code class="code">handleParagraphs</code> - A boolean which indicates,
                    how new lines are handled. When set to true, single new lines
                    are ignored and instead treated as single spaces. Only multiple
                    new lines will be handled as such. The default value is
                    <code class="code">false</code>.
                </p></li>
<li><p>
                    <code class="code">justification</code> - May be one of the values of
                    <code class="code">Zend_Text_Figlet::JUSTIFICATION_*</code>. There is
                    <code class="code">JUSTIFICATION_LEFT</code>, <code class="code">JUSTIFICATION_CENTER</code>
                    and <code class="code">JUSTIFICATION_RIGHT</code> The default justification
                    is defined by the <code class="code">rightToLeft</code> value.
                </p></li>
<li><p>
                    <code class="code">rightToLeft</code> - Defines in which direction the
                    text is written. May be either
                    <code class="code">Zend_Text_Figlet::DIRECTION_LEFT_TO_RIGHT</code> or
                    <code class="code">Zend_Text_Figlet::DIRECTION_RIGHT_TO_LEFT</code>. By
                    default the setting of the font file is used. When justification
                    is not defined, a text written from right-to-left is
                    automatically right-aligned.
                </p></li>
<li><p>
                    <code class="code">smushMode</code> - An integer bitfield which defines,
                    how the single characters are smushed together. Can be the
                    sum of multiple values from <code class="code">Zend_Text_Figlet::SM_*</code>.
                    There are the following smush modes: SM_EQUAL, SM_LOWLINE,
                    SM_HIERARCHY, SM_PAIR, SM_BIGX, SM_HARDBLANK, SM_KERN and
                    SM_SMUSH. A value of 0 doesn't disable the entire smushing,
                    but forces SM_KERN to be applied, while a value of -1 disables
                    it. An explanation of the different smush modes can be found
                    <a href="http://www.jave.de/figlet/figfont.txt" target="_top">here</a>.
                    By default the setting of the font file is used. The smush mode
                    option is normally used only by font designers testing the various
                    layoutmodes with a new font.
                </p></li>
</ul></div>
<p>
    </p>
<div class="example">
<a name="zend.text.figlet.example.using"></a><p class="title"><b>Example 42.1. Using Zend_Text_Figlet</b></p>
<div class="example-contents">
<p>
            This example illustrates the basic use of <code class="code">Zend_Text_Figlet</code>
            to create a simple FIGlet text:
        </p>
<pre class="programlisting">&lt;?php
require_once 'Zend/Text/Figlet.php';
$figlet = new Zend_Text_Figlet();
echo $figlet-&gt;render('Zend');
?&gt;
        </pre>
<p>
            Assuming you are using a monospace font, this would look as follows:
        </p>
<pre class="programlisting">  ______    ______    _  __   ______   
 |__  //   |  ___||  | \| || |  __ \\  
   / //    | ||__    |  ' || | |  \ || 
  / //__   | ||___   | .  || | |__/ || 
 /_____||  |_____||  |_|\_|| |_____//  
 `-----`'  `-----`   `-` -`'  -----`  
        </pre>
</div>
</div>
<br class="example-break">
</div>
</div>
<div class="navfooter"><table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="zend.test.phpunit.html">Prev</a> </td>
<td width="20%" align="center"> </td>
<td width="40%" align="right"> <a accesskey="n" href="zend.timesync.html">Next</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">41.2. Zend_Test_PHPUnit </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
<td width="40%" align="right" valign="top"> Chapter 43. Zend_TimeSync</td>
</tr>
</table></div>
<div class="revinfo"></div>
</body>
</html>
